package org.yjw;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * @author 31898
 * 处理方向：输入流
 * 处理类型：字节流
 * 处理方式：节点流
 * 对文件进行处理的节点流
 */
public class FileInputStreamTest {

    public static void main(String[] args) {
        FileInputStreamTest test = new FileInputStreamTest();
        String filePath = "D:/abc.txt";
        String reslut = test.readFile(filePath);
        System.out.println(reslut);
    }


    /**
     * 读取指定文件的内容
     *
     * @param filePath ： 文件的路径
     * @return 返回的结果
     */
    public String readFile(String filePath) {
        FileInputStream fis = null;
        String result = "";
        try {
            //1.根据path路径实例化一个输入流的对象
            fis = new FileInputStream(filePath);
            //2.返回这个输入流中可以被读的剩下的bytes字节的估计值；
            int size = fis.available();
            //3.根据输入流中的字节数创建byte数组；
            byte[] array = new byte[size];
            //4.把数据读取到数组中；
            fis.read(array);
            //5.根据获取到的Byte数组新建一个字符串，然后输出；
            result = new String(array);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return result;
    }


}


